Remove templateId
and simplify EmailProof validation in ZKEmailUtils
#210
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR streamlines the ZKEmailUtils by receiving an EmailProof directly instead of an EmailAuthMsg struct. From the original struct, the
templateId
was unused and not included in the proof so anyone can construct the expected value, so it was removed.On the
SignerZKEmail
andERC7913ZKEmailVerifier
side, their implementation was simplified following changes in ZKEmailUtils.Key Changes:
templateId
andskippedCommandPrefix
functionality across all ZKEmail contractstryDecodeEmailProof
function for safe calldata decoding with comprehensive bounds checkingEmailProof
field encodingThe simplified implementation reduces complexity while preserving all essential security guarantees.